4  Project Management Plan

4.1 Overview

4.1.1 WBS & Estimation

4.1.2 Project Objectives

4.1.3 Project Risks

4.2 Management Approach

4.2.1 Project Process

4.2.2 Quality Management

4.2.3 Training Plan

Area Participants When, Duration Waiver Criteria
Blockchain Project Team 20/07/2022, 2 weeks Mandatory
Hyperledger Fabric Project Team 01/10/2022, 2 weeks Mandatory for Backend Team
Java, Javalin Project Team 01/09/2022, 1 weeks Mandatory

4.3 Master Schedule

4.4 Project Organization

4.5 Project Communication

4.5.1 Communication Plan

Item Target Purpose When Type
Discord Project Team Review meeting & Status report Monday, Friday Voice, Remote
Google Meeting Project Team & Supervisor Review meeting, Sprint revision & Closeup Wednesday Voice, Remote
Messenger Project Team & Supervisor Meeting planning, Q&A & Status report Everyday Text, Remote
FU Library Project Team Pair programming & Code review Planned Offline

4.5.2 External Interfaces

4.6 Configuration Management

4.6.1 Tools & Infrastructures

4.6.1.1 Common

Type Tool
Version Control Git, GitHub
UML PlantUML, Graphviz
Deployment Docker
Project Management Quarto, GitHub Projects

4.6.2 Backend

Type Tool
Programming Language Java
Library Javalin, Fabric SDKs, HSCore, Guava, Genson, EvalEx, JWT
Compiler JDK, Lombok
UI TinyLog, JLine, Fabric CLI
DBMS H2, Hibernate, Minifabric
IDE / Editor IntelliJ IDEA, VSCode

4.6.3 Frontend

Type Tool
Programming Language TypeScript
Library React
Compiler Node
UI React
IDE / Editor VSCode

4.6.4 Document Management

We use Quarto to build documents from Markdown files and use GitHub to manage the files and their changes. A participant will create a new branch to edit the files, create pull requests and wait for the project manager to review the changes and merge to the main branch. Then, it’ll be built in three outputs: a website using GitHub Pages for visualization, A PDF document & A MS-Word document.

4.6.5 Source Code Management

We manage the source code by using GitHub. Endpoints of the project will be upload into separated repositories. Once the code is changed, the participant will create a new branch, create a relevant pull request, and wait for code owners to review and merge to the main branch.